package com.crm.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

import com.crm.dao.UserDao;
import com.crm.domain.User;
/**
 * @author Yusei
 * UserDao接口的实现
 */
public class UserDaoImpl extends BaseDaoImpl<User> implements UserDao {

	@Override
	// 用户注册
	public void regist(User user) {
		this.getHibernateTemplate().save(user);
	}

	@Override
	// 用户登录
	public User login(User user) {
		// SELECT * FROM sys_user WHERE user_code="qwe" AND user_password="202cb962ac59075b964b07152d234b70";
		// 注意hibernate的语法，不要select *
		// 以下是错误示范
		/*List<User> list = (List<User>)this.getHibernateTemplate().find(
				" SELECT * FROM sys_user WHERE user_code=? AND user_password=?",user.getUser_code(), user.getUser_password() );*/
		// 注意：hibernate的语法和一般的sql语句不一样，首先需要注意select *要去掉；其次，查询表名填的的表映射的类名，不要填表名
		List<User> list = (List<User>)this.getHibernateTemplate().find(
				"FROM User WHERE user_code=? AND user_password=?",user.getUser_code(), user.getUser_password() );
		// 判断查询结果是否大于0
		if (list.size() > 0 ) {
			// 返回第一条结果
			return list.get(0);
		}
		return null;
	}

}
